home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / MACSHELL / MS1 / SAMPLES / CMD.C next >
Text File  |  1992-12-02  |  6KB  |  188 lines

  1. /*
  2.  *    MacShell Source File
  3.  *
  4.  *    Copyright (c) 1989, 1990, 1991, 1992  Suick Bay Technologies.  All rights reserved.
  5.  *
  6.  *
  7.  *    RESTRICTIONS ON MacShell program and source code.
  8.  *
  9.  *    Ñ╩MacShell¬ is a product of Suick Bay Technologies and is provided for
  10.  *    restricted use by the owner of the CDROM "Disk to the future II".
  11.  *
  12.  *    Ñ╩No permission is granted for any commercial use without the written
  13.  *    consent of the Suick Bay Technologies.
  14.  *
  15.  *    Ñ╩No permission is granted for any redistribution of any kind use without
  16.  *    the written consent of the Suick Bay Technologies.
  17.  *
  18.  *    Ñ╩Permission is granted to use this for any personal noncommercial use.
  19.  *
  20.  *    Ñ╩You may not distribute source or executable code at all, nor may you 
  21.  *    distribute it with or within a commercial product without the written
  22.  *    consent of the Suick Bay Technologies.  Please send modifications to 
  23.  *    the author for inclusion in updates to the program.  Thanks.
  24.  *
  25.  *
  26.  *    MacShell¬ IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  27.  *    WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  28.  *    PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  29.  *
  30.  *    SUICK BAY TECHNOLOGIES SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  31.  *    INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY MACSHELL
  32.  *    OR ANY PART THEREOF. 
  33.  *
  34.  *    In no event will Suick Bay Technologies be liable for any lost revenue
  35.  *    or profits or other special, indirect and consequential damages, even if
  36.  *    Suick Bay Technologies has been advised of the possibility of such damages.
  37.  *
  38.  *    Suick Bay Technologies can be reached at:
  39.  *    
  40.  *    8768 Cottonwood lane
  41.  *    Maple Grove, MN 55369
  42.  *    Voice: (612) 425-7025
  43.  *    AppleLink: D5233
  44.  *    
  45.  *
  46.  *    No parts of this software may be reproduced or stored in a
  47.  *    retrieval system or transmitted in any form, or any means,
  48.  *    electronic, mechanical, photocopying, recording or otherwise,
  49.  *    without the prior written permission of Suick Bay Technologies.
  50.  *    
  51.  *    Spread the word and not the disk.
  52.  *    
  53.  *    SPK 012290    :    Initial
  54.  */
  55.  
  56. #include    "SystemPub.h"
  57. #include    "Cmds.h"
  58.  
  59. Boolean        GetCommandInfo( char *cmdName, ProcPtr *funcPtr, int *usesStdIn )
  60. {
  61.     *usesStdIn = FALSE;
  62.     *funcPtr = NULL;
  63.     
  64.     if( strcmp( cmdName, "pr" ) == 0 )
  65.         *funcPtr = (ProcPtr) DoPR;
  66.     else if(  strcmp( cmdName, "lsr" ) == 0 )
  67.         *funcPtr = (ProcPtr) DoLSR;
  68.  
  69.     else if( strcmp( cmdName, "dumpr" ) == 0 )
  70.         *funcPtr = (ProcPtr) DoDUMPR;
  71.         
  72.     else if( strcmp( cmdName, "grepr" ) == 0 )
  73.         *funcPtr = (ProcPtr) DoGREPR;
  74.         
  75.     else if(  strcmp( cmdName, "rmr" ) == 0 )
  76.         *funcPtr = (ProcPtr) DoRMR;        
  77.  
  78.     else if((strcmp( cmdName, "cpr" ) == 0) ||     /* share entry point */
  79.         (strcmp( cmdName, "mvr" ) == 0 ) || 
  80.         (strcmp( cmdName, "cmpr" ) == 0 ))
  81.         *funcPtr = (ProcPtr) DoRESCMD;
  82.  
  83.     else if( strcmp( cmdName, "alias" ) == 0 )
  84.         *funcPtr = (ProcPtr) DoALIAS;
  85.     else if( strcmp( cmdName, "unalias" ) == 0 )
  86.         *funcPtr = (ProcPtr) DoUNALIAS;
  87.         
  88.     else if( (strcmp( cmdName, "grep" ) == 0)  ||     /* share entry point */
  89.         (strcmp( cmdName, "fgrep" ) == 0) )
  90.         *funcPtr = (ProcPtr) DoGREP;
  91.         
  92.     else if( strcmp( cmdName, "cmp" ) == 0 )
  93.         *funcPtr = (ProcPtr) DoCMP;
  94.     else if( (strcmp( cmdName, "crypt" ) == 0 ) ||     /* share entry point */
  95.         (strcmp( cmdName, "decrypt" ) == 0 ))
  96.         *funcPtr = (ProcPtr) DoCRYPT;
  97.     else if( strcmp( cmdName, "diff" ) == 0 )
  98.         *funcPtr = (ProcPtr) DoDIFF;
  99.     else if( strcmp( cmdName, "df" ) == 0 )
  100.         *funcPtr = (ProcPtr) DoDF;
  101.     else if( strcmp( cmdName, "size" ) == 0 )
  102.         *funcPtr = (ProcPtr) DoSIZE;
  103.     else if( strcmp( cmdName, "sleep" ) == 0 )
  104.         *funcPtr = (ProcPtr) DoSLEEP;
  105.     else if( strcmp( cmdName, "prefs" ) == 0 )
  106.         *funcPtr = (ProcPtr) DoPREFS;
  107.     else if( strcmp( cmdName, "hd" ) == 0 )
  108.         *funcPtr = (ProcPtr) DoHD;
  109.     else if( strcmp( cmdName, "environ" ) == 0 )
  110.         *funcPtr = (ProcPtr) DoENVIRON;
  111.     else if( strcmp( cmdName, "fpb" ) == 0 )
  112.         *funcPtr = (ProcPtr) DoFINFO;
  113.     else if( strcmp( cmdName, "dpb" ) == 0 )
  114.         *funcPtr = (ProcPtr) DoDINFO;
  115.     else if( strcmp( cmdName, "vpb" ) == 0 )
  116.         *funcPtr = (ProcPtr) DoVINFO;
  117.     else if( strcmp( cmdName, "play" ) == 0 )
  118.         *funcPtr = (ProcPtr) DoPLAY;
  119.     else if( strcmp( cmdName, "setfile" ) == 0 )
  120.         *funcPtr = (ProcPtr) DoSETFILE;
  121.     else if( strcmp( cmdName, "eject" ) == 0 )
  122.         *funcPtr = (ProcPtr) DoEJECT;
  123.     else if( strcmp( cmdName, "cpt" ) == 0 )
  124.         *funcPtr = (ProcPtr) DoCPT;
  125.     else if( strcmp( cmdName, "mvt" ) == 0 )
  126.         *funcPtr = (ProcPtr) DoMVT;
  127.     else if( strcmp( cmdName, "touch" ) == 0 )
  128.         *funcPtr = (ProcPtr) DoTOUCH;
  129.     else if( strcmp( cmdName, "find" ) == 0 )
  130.         *funcPtr = (ProcPtr) DoFIND;
  131.     else if( strcmp( cmdName, "script" ) == 0 )
  132.         *funcPtr = (ProcPtr) DoSCRIPT;
  133.     else if( strcmp( cmdName, "usage" ) == 0 )
  134.         *funcPtr = (ProcPtr) DoUSAGE;
  135.     else if( strcmp( cmdName, "man" ) == 0 )
  136.         *funcPtr = (ProcPtr) DoMAN;
  137.     else if( strcmp( cmdName, "set" ) == 0 )
  138.         *funcPtr = (ProcPtr) DoSET;
  139.     else if( strcmp( cmdName, "unset" ) == 0 )
  140.         *funcPtr = (ProcPtr) DoUNSET;
  141.     else if( strcmp( cmdName, "rm" ) == 0 )
  142.         *funcPtr = (ProcPtr) DoRM;
  143.     else if( strcmp( cmdName, "read" ) == 0 )
  144.         *funcPtr = (ProcPtr) DoREAD;
  145.     else if( strcmp( cmdName, "edit" ) == 0 )
  146.         *funcPtr = (ProcPtr) DoEDIT;
  147.     else if( strcmp( cmdName, "echo" ) == 0 )
  148.         *funcPtr = (ProcPtr) DoECHO;
  149.     else if( strcmp( cmdName, "date" ) == 0 )
  150.         *funcPtr = (ProcPtr) DoDATE;
  151.     else if( strcmp( cmdName, "cal" ) == 0 )
  152.         *funcPtr = (ProcPtr) DoCAL;
  153.     else if( strcmp( cmdName, "cd" ) == 0 )
  154.         *funcPtr = (ProcPtr) DoCD;
  155.     else if( strcmp( cmdName, "pwd" ) == 0 )
  156.         *funcPtr = (ProcPtr) DoPWD;
  157.     else if( strcmp( cmdName, "ls" ) == 0 )
  158.         *funcPtr = (ProcPtr) DoLS;
  159.     else if( strcmp( cmdName, "sound" ) == 0 )
  160.         *funcPtr = (ProcPtr) DoSOUND;
  161.     else if( strcmp( cmdName, "mkdir" ) == 0 )
  162.         *funcPtr = (ProcPtr) DoMKDIR;
  163.     else if( strcmp( cmdName, "rmdir" ) == 0 )
  164.         *funcPtr = (ProcPtr) DoRMDIR;
  165.     else if( strcmp( cmdName, "cp" ) == 0 )
  166.         *funcPtr = (ProcPtr) DoCP;
  167.     else if( strcmp( cmdName, "mv" ) == 0 )
  168.         *funcPtr = (ProcPtr) DoMV;
  169.  
  170.     else if( strcmp( cmdName, "wc" ) == 0 )
  171.         {
  172.         *funcPtr = (ProcPtr) DoWC;
  173.         *usesStdIn = TRUE;
  174.         }
  175.     else if( strcmp( cmdName, "tr" ) == 0 )
  176.         {
  177.         *funcPtr = (ProcPtr) DoTR;
  178.         *usesStdIn = TRUE;
  179.         }
  180.     else if( strcmp( cmdName, "cat" ) == 0 )
  181.         {
  182.         *funcPtr = (ProcPtr) DoCAT;
  183.         *usesStdIn = TRUE;
  184.         }
  185.         
  186.     return( *funcPtr != NULL );
  187. }
  188.